package com.nimitz.module.employee.domain;

import com.nimitz.common.annotation.Excel;
import com.nimitz.common.annotation.Excels;
import com.nimitz.common.annotation.Excel.Type;
import com.nimitz.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 转岗记录表 emp_post
 */
@ApiModel(value = "EmpPost对象", description = "转岗记录表")
public class EmpPost extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 转岗id
     */
    @ApiModelProperty(value = "转岗id")
    private Integer postId;

    /**
     * 人员id
     */
    @ApiModelProperty(value = "人员id")
    private Integer employeeId;

    /**
     * 原始部门id
     */
    @ApiModelProperty(value = "原始部门id")
    private Integer postOriginalDeptId;

    /**
     * 原始部门名称
     */
    @ApiModelProperty(value = "原始部门名称")
    private String postOriginalDeptName;

    /**
     * 调换部门id
     */
    @ApiModelProperty(value = "调换部门id")
    private Integer postExchangeDeptId;

    /**
     * 调换部门名称
     */
    @ApiModelProperty(value = "调换部门名称")
    private String postExchangeDeptName;

    /**
     * 提交人
     */
    @Excel(name = "提交人")
    @ApiModelProperty(value = "提交人")
    private String postSubmitName;

    /**
     * 提交日期
     */
    @Excel(name = "提交日期")
    @ApiModelProperty(value = "提交日期")
    private String postSubmitDate;

    /**
     * 驳回人
     */
    @Excel(name = "驳回人")
    @ApiModelProperty(value = "驳回人")
    private String postRejectName;

    /**
     * 驳回日期
     */
    @Excel(name = "驳回日期")
    @ApiModelProperty(value = "驳回日期")
    private String postRejectDate;

    /**
     * 驳回原因
     */
    @Excel(name = "驳回原因")
    @ApiModelProperty(value = "驳回原因")
    private String postRejectReason;

    /**
     * 审核人
     */
    @Excel(name = "审核人")
    @ApiModelProperty(value = "审核人")
    private String postAuditName;

    /**
     * 审核日期
     */
    @Excel(name = "审核日期")
    @ApiModelProperty(value = "审核日期")
    private String postAuditDate;

    /**
     * 人员对象
     */
    @Excels({@Excel(name = "人员名称", targetAttr = "employeeName", type = Type.EXPORT),
            @Excel(name = "警号", targetAttr = "employeeCode", type = Type.EXPORT)})
    @ApiModelProperty(value = "人员对象")
    private EmpEmployee postEmployee;

    /**
     * 状态：0=待审核,1=审核中,2=已通过,3=未通过
     */
    @Excel(name = "状态", readConverterExp = "0=待审核,1=审核中,2=已通过,3=未通过")
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 删除标志：0=存在,1=删除
     */
    private String delFlag;

    public Integer getPostId() {
        return postId;
    }

    public void setPostId(Integer postId) {
        this.postId = postId;
    }

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public Integer getPostOriginalDeptId() {
        return postOriginalDeptId;
    }

    public void setPostOriginalDeptId(Integer postOriginalDeptId) {
        this.postOriginalDeptId = postOriginalDeptId;
    }

    public String getPostOriginalDeptName() {
        return postOriginalDeptName;
    }

    public void setPostOriginalDeptName(String postOriginalDeptName) {
        this.postOriginalDeptName = postOriginalDeptName;
    }

    public Integer getPostExchangeDeptId() {
        return postExchangeDeptId;
    }

    public void setPostExchangeDeptId(Integer postExchangeDeptId) {
        this.postExchangeDeptId = postExchangeDeptId;
    }

    public String getPostExchangeDeptName() {
        return postExchangeDeptName;
    }

    public void setPostExchangeDeptName(String postExchangeDeptName) {
        this.postExchangeDeptName = postExchangeDeptName;
    }

    public String getPostSubmitName() {
        return postSubmitName;
    }

    public void setPostSubmitName(String postSubmitName) {
        this.postSubmitName = postSubmitName;
    }

    public String getPostSubmitDate() {
        return postSubmitDate;
    }

    public void setPostSubmitDate(String postSubmitDate) {
        this.postSubmitDate = postSubmitDate;
    }

    public String getPostRejectName() {
        return postRejectName;
    }

    public void setPostRejectName(String postRejectName) {
        this.postRejectName = postRejectName;
    }

    public String getPostRejectDate() {
        return postRejectDate;
    }

    public void setPostRejectDate(String postRejectDate) {
        this.postRejectDate = postRejectDate;
    }

    public String getPostRejectReason() {
        return postRejectReason;
    }

    public void setPostRejectReason(String postRejectReason) {
        this.postRejectReason = postRejectReason;
    }

    public String getPostAuditName() {
        return postAuditName;
    }

    public void setPostAuditName(String postAuditName) {
        this.postAuditName = postAuditName;
    }

    public String getPostAuditDate() {
        return postAuditDate;
    }

    public void setPostAuditDate(String postAuditDate) {
        this.postAuditDate = postAuditDate;
    }

    public EmpEmployee getPostEmployee() {
        return postEmployee;
    }

    public void setPostEmployee(EmpEmployee postEmployee) {
        this.postEmployee = postEmployee;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("postId", getPostId())
                .append("employeeId", getEmployeeId())
                .append("postOriginalDeptId", getPostOriginalDeptId())
                .append("postOriginalDeptName", getPostOriginalDeptName())
                .append("postExchangeDeptId", getPostExchangeDeptId())
                .append("postExchangeDeptName", getPostExchangeDeptName())
                .append("postSubmitName", getPostSubmitName())
                .append("postSubmitDate", getPostSubmitDate())
                .append("postRejectName", getPostRejectName())
                .append("postRejectDate", getPostRejectDate())
                .append("postRejectReason", getPostRejectReason())
                .append("postAuditName", getPostAuditName())
                .append("postAuditDate", getPostAuditDate())
                .append("postEmployee", getPostEmployee())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
